1. Field of the Invention
The present invention relates in general to computers, and more particularly to a messaging scheme incorporating an error handling mechanism for an input/output (I/O) link handling complex instruction chains.
2. Description of the Related Art
Computers and computer systems are found in a variety of settings in today's society. Computing environments and networks may be found at home, at work, at school, in government, and in other settings. In many computer systems, an operating system (OS) helps to share computer resources (processor, memory, disk space, network bandwidth, etc.) between users and application programs. Operating systems may also control access to the computer system in a security-related function
Input/output (I/O) operations are used to transfer data between memory and input/output devices of a processing environment. Specifically, data is written from memory to one or more input/output devices, and data is read from one or more input/output devices to memory by executing input/output operations.
To facilitate processing of input/output operations, an input/output subsystem of the processing environment is employed. The input/output subsystem is coupled to main memory and the input/output devices of the processing environment and directs the flow of information between memory and the input/output devices. One example of at input/output subsystem is a channel subsystem. The channel subsystem uses channel paths as communications media. Each channel path includes a channel coupled to a control unit, the control unit being further coupled to one or more input/output devices.
The channel subsystem employs channel command words to transfer data between the input/output devices and memory. A channel command word specifies the command to be executed, and for commands initiating certain I/O operations, it designates the memory area associated with the operation, the action to be taken whenever transfer to or from the area is completed, and other options.
During input/output processing, a list of channel command words is fetched from memory by a channel. The channel parses each command from the list of channel command words and forwards a number of the commands, each command in it's own entity to a control unit (processor) coupled to the channel. The control unit then processes the commands. The channel tracks the state of each command and controls when the next set of commands are to be sent to the control unit for processing. The channel ensures that each command is sent to the control unit in it's own entity. Further, the channel infers certain information associated with processing.